package com.xianniu.ltc.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xianniu.ltc.model.entity.THuikuanjihuaDTO;
import com.xianniu.ltc.model.po.report.ChartCommonPermissionsPO;
import com.xianniu.ltc.model.vo.CashTransferSchemesVO;
import com.xianniu.ltc.model.vo.statistics.BenNianQianYueEVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author WangRuiJie
 * @Title: TSihaikehuMapper
 * @Package com.xianniu.ltc.mapper
 * @Description:
 * @date 2022/1/1711:17 上午
 */

@Mapper
public interface THuikuanjihuaMapper extends BaseMapper<THuikuanjihuaDTO>{

    /**
     * 本年回款统计：计划回款-按周
     * @return
     */
    List<CashTransferSchemesVO> selectWeekPlanData(@Param("po") ChartCommonPermissionsPO po, @Param("weekList") int[] weekList);
    /**
     * 本年回款统计：计划回款-按月
     * @return
     */
    List<CashTransferSchemesVO> selectMonthPlanData(@Param("po") ChartCommonPermissionsPO po);
    /**
     * 本年回款统计：计划回款-按季度
     * @return
     */
    List<CashTransferSchemesVO> selectQuarterPlanData(@Param("po") ChartCommonPermissionsPO po);

    /**
     * 本年回款统计：按时回款-按周
     * @return
     */
    List<CashTransferSchemesVO> selectWeekOnTimeData(@Param("po") ChartCommonPermissionsPO po, @Param("weekList") int[] weekList);
    /**
     * 本年回款统计：按时回款-按月
     * @return
     */
    List<CashTransferSchemesVO> selectMonthOnTimeData(@Param("po") ChartCommonPermissionsPO po);
    /**
     * 本年回款统计：按时回款-按季度
     * @return
     */
    List<CashTransferSchemesVO> selectQuarterOnTimeData(@Param("po") ChartCommonPermissionsPO po);

    /**
     * 本年回款统计：逾期回款-按周
     * @return
     */
    List<CashTransferSchemesVO> selectWeekOverdueData(@Param("po") ChartCommonPermissionsPO po, @Param("weekList") int[] weekList);
    /**
     * 本年回款统计：逾期回款-按月
     * @return
     */
    List<CashTransferSchemesVO> selectMonthOverdueData(@Param("po") ChartCommonPermissionsPO po);
    /**
     * 本年回款统计：逾期回款-按季度
     * @return
     */
    List<CashTransferSchemesVO> selectQuarterOverdueData(@Param("po") ChartCommonPermissionsPO po);

    @InterceptorIgnore(tenantLine = "on")
    List<BenNianQianYueEVO> queryHistoryWeiShouKuan(@Param("po") ChartCommonPermissionsPO po, @Param("startTime") String startTime, @Param("endTime") String endTime  );



}
